package db;

/**
 *
 * @author Luis Picado
 */
import com.mysql.jdbc.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class ConectarTC {

    public Connection conectar() {
        String bd = "labpaezdb";
        String login = "root";
        String password = "admin";
        String url = "jdbc:mysql://localhost/" + bd;
        Connection conn = null;
        try {
            Class.forName("com.mysql.jdbc.Connection");
            conn = (Connection) DriverManager.getConnection(url, login, password);
            if (conn != null) {
                System.out.println("Conexion a base de datos " + url + " ... Ok");
            }
        } catch (SQLException ex) {
            System.out.println("Hubo un problema al intentar conectarse con la base de datos " + url);
        } catch (ClassNotFoundException ex) {
            System.out.println(ex);
        }
        return conn;
    }//Fin de conectar()

    public Connection conectar(String bd, String login, String password) {
        String url = "jdbc:mysql://localhost/" + bd;
        Connection conn = null;
        try {
            Class.forName("com.mysql.jdbc.Connection");
            conn = (Connection) DriverManager.getConnection(url, login, password);
            if (conn != null) {
                System.out.println("Conexion a base de datos " + url + " ... Ok");
            }
        } catch (SQLException ex) {
            System.out.println("Hubo un problema al intentar conectarse con la base de datos " + url);
        } catch (ClassNotFoundException ex) {
            System.out.println(ex);
        }
        return conn;
    }//Fin de conectar(String bd, String login, String password)

    public void createTable(Connection conn) {
        Statement s;

        try {
            s = (Statement) conn.createStatement();
            s.executeUpdate("CREATE TABLE prueba.usuarios (id INT AUTO_INCREMENT, "
                    + "PRIMARY KEY(id), nombre VARCHAR(20), apellido VARCHAR(20), "
                    + "edad INT, password VARCHAR(20))");
            {
                System.out.println("Creada correctamente");
            }
        } catch (SQLException ex) {
            System.out.println("Hubo un problema o la tabla ya esta creada");
        }
    }//Fin de createTable()

    public void dropTable(Connection conn) {
        Statement s;

        try {
            s = (Statement) conn.createStatement();
            s.executeUpdate("DROP TABLE prueba.usuarios");
            {
                System.out.println("Eliminada correctamente");
            }
        } catch (SQLException ex) {
            System.out.println("Hubo un problema o la tabla no existe");
        }
    }//Fin de dropTable()

    public void insertInto(Connection conn) {
        Statement s;

        try {
            s = (Statement) conn.createStatement();
            String nombres[] = {"Juan", "Pedro", "Antonio"};
            String apellidos[] = {"Gomez", "Lopez", "Alvarez"};
            int edades[] = {23, 19, 28};
            String passwords[] = {"jg23", "pl19", "aa28"};

            for (int i = 0; i < nombres.length; i++) {
                s.executeUpdate("INSERT INTO prueba.usuarios (nombre, apellido, edad, password) VALUES"
                        + "('" + nombres[i] + "','" + apellidos[i] + "','"
                        + edades[i] + "','" + passwords[i] + "')");
            }
            {
                System.out.println("Insertado correctamente");
            }
        } catch (SQLException ex) {
            System.out.println("Hubo un problema o la tabla no existe");
        }
    }//Fin de insertInto()

    public void insertInto(Connection conn, String nombre, String apellido, int edad, String pass) {
        Statement s;

        try {
            s = (Statement) conn.createStatement();

            s.executeUpdate("INSERT INTO prueba.usuarios (nombre, apellido, edad, password) VALUES"
                    + "('" + nombre + "','" + apellido + "','"
                    + edad + "','" + pass + "')");

            System.out.println("Insertado correctamente");

        } catch (SQLException ex) {
            System.out.println("Hubo un problema o la tabla no existe");
        }
    }//Fin de insertInto(Connection conn, String nombre, String apellido, int edad, String pass)

    public void insertarPacientes(Connection conn, String nombre, String apellido, String direccion, int edad, String cedula, String email) {
        Statement s;

        try {
            s = (Statement) conn.createStatement();
            s.executeUpdate("INSERT INTO `ipn`.`paciente`(`idPaciente`,`Nombre`,`Apellido`,`Direccion`,`Edad`,`Cedula`,`Email`,`FechaRegistro`)VALUES"
                    + "(NULL,'" + nombre + "','" + apellido + "','" + direccion + "','" + edad + "','" + cedula + "','" + email + "',CURDATE())");
            System.out.println("Insertado correctamente");

        } catch (SQLException ex) {
            System.out.println("Hubo un problema o la tabla no existe");
        }

    }//Fin de insertarPacientes

    public void eliminarPacientes(Connection conn, String cedula) {
        Statement s;

        try {
            s = (Statement) conn.createStatement();
            s.executeUpdate("DELETE FROM `ipn`.`paciente` WHERE Cedula  = " + cedula + ";");
            System.out.println("Eliminado correctamente");

        } catch (SQLException ex) {
            System.out.println("Hubo un problema o la tabla no existe");
        }
    }//Fin de eliminarPacientes

    public void actualizarPacientes(Connection conn, String nombre, String apellido, String direccion, int edad, String cedula, String email) {

        Statement s;
        try {
            s = (Statement) conn.createStatement();
            s.executeUpdate("UPDATE `ipn`.`paciente`SET`Nombre` = '"+nombre+"',`Apellido` ='"+apellido+"',`Direccion` = '"+direccion+"',`Edad` ='"+edad+"',`Email` ='"+email+"'WHERE cedula="+cedula+";");
            System.out.println("Actualizado correctamente");

        } catch (SQLException ex) {
            System.out.println("Hubo un problema o la tabla no existe");

        }
    }//Fin de actualizarPacientes
}